Light Weight Directory Access Protocol (LDAP) has become very popular due to its efficient and fast data access. A large number of applications/servers are currently being developed which use an LDAP directory as their centralized data repository. In the LDAP directory, data is stored as entries including key/value pairs. A key/value pair may include an attribute name and an attribute value. For example, an entry for an attribute known as a file type attribute may include a specific file type as the attribute name and the content of the file as the attribute value.
Some file types may include a set of metadata stored inside the file. For example, jpeg photo Exchangeable Image File Format (EXIF) used for compressed digital camera images includes multiple metadata fields for describing properties of an image stored in the file. These properties may specify the date when the picture was taken, the camera model used for taking the picture, the vertical and horizontal size of the picture, etc. This additional information might be useful for performing searches of the LDAP directory.
In order to maintain optimal performance, an LDAP server needs tuning at regular intervals based on the type of client requests, and type of data stored in the LDAP server database. Typically, administrators decide on a maintenance time, when they can analyze the tuning parameters and manually adjust the values of several tuning parameters. The types of tuning performed by the administrators are: LDAP Server Tuning and LDAP Server Database Tuning.
LDAP Server Tuning monitors the cache hit and miss ratio for the client search requests. This is done by monitoring several LDAP cache monitoring parameters provided by the server. Based on this analysis, the value of LDAP cache is tuned. If the LDAP cache miss ratio is high, then the size of LDAP cache is increased. Note that LDAP cache and entry cache are used interchangeably, but both of them essentially mean the same.
For improved performance of directory server, administrator needs to tune the LDAP server database cache. In this tuning, the LDAP server and database are stressed using some third party tools. Based on the analysis report, the LDAP server database cache is tuned. The stress engine is run again to see if the throughput for SEARCH operations is improved. If not, the LDAP server database cache is increased and the stressing cycle is run again. This cycle needs to be repeated until optimal search rate is observed. For example, SLAMD is a Sun one directory server stress tool which is used to stress the LDAP Server and generate an analysis report.
These tuning procedures, for example, involve a lot of manual efforts by the administrators, and the administrators should be well educated on what/how/when of the tuning parameters to be tuned. Also, the administrator needs to prepare the workload to be executed for analysis of tuning parameter. Workload is the design or the template that will be fed into the stress engine. Further, the administrator needs to be trained on the stress engine tool that will be used to run the workload.